# Cheat sheets for quich reference as you're programming.

Dialogue commands for use with stuff like [name]:
!c to capitalize the first letter, !l to lowercase all letters, !u to uppercase all letters.
!q to put quotes around the variable.
You can also do \" to display a quote without interfering with the code.
## Renpy Engine commands
shift+O - brings up console
shift+D directr
D interactiive director

#NVL MODE STUFF
#Menu:
    #Dialogue
    #Choice 1:
        #jump code/text
    #choice 2:
        #jump code/text

#nvl clear (clears text box)

# nvl hide dissolve
# nvl show dissolve

#define nvl specific characters as such:
#define a = Character(("name"), kind=nvl, color="#c8ffc8", image="pics")


##INPUTS
#label start:
#


## TRANSFORMS

blur and then unblur, esp dinner screen
show war at blur1
show lucien at blur1
show bg dinnertime at blur1
with dissolve
pause 0.5
show war at unblur
show lucien at unblur
show bg dinnertime at unblur
with dissolve







#IMAGES
#image names are used like this: tag specific-pic
#Format image names like so: character/bg expression/location/number
#Examples: lucien scared, bg alleyway, warden pleased
#usage example: show lucien scared, show lucien happy
#a picture with the same tag will replace the previous one with that tag
#you can specifiy defiend placements, like right, rightist, left, leftish, and behind other image tags. like: show lucien scared at left behind warden


CHARACTER CUSTOMIZATION

    init:
        default chest = 1
        default chest_max = 3
        default bottom = 1
        default bottom_max = 4


    Compiling the selected art:
        image lucien = Composite(
            (467, 946),
            (0, 0), "Lucien/Base/base.png",
            (0, 0), "Lucien/Chest/chest[chest].png",
            (0, 0), "Lucienr/Bottom/bottom[bottom].png",
        )
        image luhappy = Composite(
            (467, 946),
            (0, 0), "Lucien/Base/base_happy.png",
            (0, 0), "Lucien/Chest/chest[chest]_happy.png",
            (0, 0), "Lucienr/Bottom/bottom[bottom_choice]_happy.png",
        )
    Character customization screen stuff. This will make buttons around the art to select and confirm the choices.
    
screen dress_lucien():
    modal True

    imagemap:
        #ground "Dressup_Screen/background.png"
        #idle "Dressup_Screen/idle.png"
        #hover "Dressup_Screen/hover.png"
        #selected_idle "Dressup_Screen/selected.png"
        #selected_hover "Dressup_Screen/selected.png"


        ##Top Style##
        hotspot(1231, 522, 88, 77) action If(chest > 1, SetVariable("chest", chest - 1), SetVariable("chest", 1))
        hotspot(1800, 522, 88, 77) action If(chest < chest_max, SetVariable("chest", chest + 1), SetVariable("chest", chest_max))

        ##Bottom Style##
        hotspot(1231, 853, 88, 77) action If(bottom > 1, SetVariable("bottom", bottom - 1), SetVariable("bottom", 1))
        hotspot(1800, 853, 88, 77) action If(bottom < bottom_max, SetVariable("bottom", bottom + 1), SetVariable("bottom", bottom_max))

        ##Continue##
        hotspot(1661, 14, 236, 80) action Return()

    add "lucien":
        pos(1300, 120)
        zoom 0.5


MAIN MENU STUFF
Put this in the "screens" file
#Navigation screen
screen navigation():

    hbox:
        style_prefix "navigation"

        if renpy.get_screen("main_menu"):
            xpos 0.5
            yalign 0.55
            spacing 5
            xanchor 0.5
        else:
                #xpos gui.navigation_xpos
                xalign 0.01
                spacing 50
                yalign 0.2



#MAIN MENU
 if main_menu:
            if renpy.get_screen("main_menu"):
                textbutton _("Start") text_style("mainbutton") activate_sound("click.mp3") action Start()
                textbutton _("Load") text_style("mainbutton") activate_sound("click.mp3") action ShowMenu("load")
                textbutton _("About") text_style("mainbutton") activate_sound("click.mp3") action ShowMenu("about")
                textbutton _("Preferences") text_style("mainbutton") activate_sound("click.mp3") action ShowMenu("preferences")
                textbutton _("Credits") text_style("mainbutton") activate_sound("click.mp3") action ShowMenu("credits"):
                    xpos 0.4
                textbutton _("Quit") text_style("mainbutton") activate_sound("click.mp3") action Quit(confirm=not main_menu):
                    xpos 0.4
                #textbutton _("Gallery") action ShowMenu("gallery")
                #textbutton _("Extras") action ShowMenu("extras")
            
       
       
       
       
        else:
            vbox:
                textbutton _("History") text_style("menubutton") activate_sound("click.mp3") action ShowMenu("history")
                textbutton _("Save") text_style("menubutton") activate_sound("click.mp3") action ShowMenu("save")
                textbutton _("Load") text_style("menubutton") activate_sound("click.mp3") action ShowMenu("load")
                textbutton _("Preferences") text_style("menubutton") activate_sound("click.mp3") action ShowMenu("preferences")
                textbutton _("Main Menu") text_style("menubutton") activate_sound("click.mp3") action MainMenu()
                if renpy.variant("pc"):

            ## The quit button is banned on iOS and unnecessary on Android and
            ## Web.
                    textbutton _("Quit") text_style("menubutton") activate_sound("click.mp3") action Quit(confirm=not main_menu)

        
        

        if _in_replay:

            textbutton _("End Replay") activate_sound("click.mp3") action EndReplay(confirm=True)
    


#MUSIC

    play music "song.mp3" fadeout 1
 

 ## LUCIEN SPRITES 

## premade expressions
show lucien drug drugface2
show lucien upset_toga upsetWhat
show lucien neu2 neu2Mad
show lucien neu1 neu1Neg
show lucien neu2 neu2_toga painPain  (kind of a disgusted face)



##      Body List
# closed legs
    drug | drug_toga | drug_sexy (drugged, yep)
    fake | fake_toga | fake_sexy (fake happy)
    neu1 | neu1_toga | neu1_sexy (more closed off, leaning more away)
    relax |relax_toga | relax_sexy (relaxed, hand on hip)
    shock | shock_toga | shock_sexy (kind of covering themself up)

# open legs
    need1 | need1_toga | need1_sexy (hand on chest)
    need2 | need2_toga | need2_ sexy (hands on side of face)
    neu2 | neu2_toga | neu2_sexy (more defensive than neu1)
    pain |pain_toga | pain_sexy (in pain, holding self with hand on face)
    rage | rage_toga | rage_sexy (angey)
    upset | upset_toga | upset_sexy (feels like more surprise but whatever)


 ### Face/body matching
## Position 1
BODIES: neu1, neu1_toga, neu1_sexy
FACES: neu1Pos, neu1Neg

## Position 2
BODIES: neu2, pain, || neu2_ toga, pain_toga, || neu2_sexy, pain_sexy
FACES: neu2Mad, neu2Sad, || painPain, painEcst

## Position 3
BODIES: drug, fake, relax 
FACES: drugface1 (drool), drugface2 (normal)|| fakeEyesOpen, fakeEyesClosed || relaxNeg, relaxPos

## Position 4
BODIES: need1, need2
FACES: needface1 (open eyes), needface2 (open eyes tongue), 
        needface3 (closed eyes tongue), needface4 (closed eyes)
    
## Position 5
BODIES: rage, upset
FACES: rageface, upsetHorn (horny), upsetFace, upsetWhat

## Position 6
BODIES: shock
FACES: shHorny, shShock, shWhat


## WARDEN SPRITES 

## Position 1
BODIES: Rarmbehind, Rcross, Rsmile, Rstare
FACES: smile, ah, blush, frown, stare, think, wink, bleh

## Position 2
BODIES: Ranger, Rlean
FACES: frown2, gr, rawr, smile2

## Position 3
BODIES: Rsmug
FACES: lmao, smug

## Position 4
BODIES: Roffend
FACES: dis, horn
